Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class Canvas

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Canvas

All Implemented Interfaces:
  Accessible, ImageObserver, MenuContainer, Serializable

public class Canvas
extends Component
implements Accessible

A `Canvas` component represents a blank rectangular area of the screen onto which the application can draw or from which the application can trap input events from the user.

An application must subclass the `Canvas` class in order to get useful functionality such as creating a custom component. The `paint` method must be overridden in order to perform custom graphics on the canvas.

Since:
  JDK1.0
See Also:
  Serialized Form

Nested Class Summary
`protected class` | `Canvas.AccessibleAWTCanvas` This class implements accessibility support for the `Canvas` class.

Nested classes inherited from class java.awt.Component
`Component.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`Canvas()` Constructs a new Canvas.
`Canvas(GraphicsConfiguration config)` Constructs a new Canvas given a GraphicsConfiguration object.

Method Summary
`void` | `addNotify()` Creates the peer of the canvas.
`void` | `createBufferStrategy(int numBuffers)` Creates a new strategy for multi-buffering on this component.
`void` | `createBufferStrategy(int numBuffers, BufferCapabilities caps)` Creates a new strategy for multi-buffering on this component with the required buffer capabilities.
`AccessibleContext` | `getAccessibleContext()` Gets the AccessibleContext associated with this Canvas.
`BufferStrategy` | `getBufferStrategy()`
`void` | `paint(Graphics g)` Paints this canvas.
`void` | `update(Graphics g)` Updates this canvas.

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Canvas

    public Canvas()

  Constructs a new Canvas.

### Canvas

    public Canvas(GraphicsConfiguration config)

  Constructs a new Canvas given a GraphicsConfiguration object.

Parameters:
  `config` - a reference to a GraphicsConfiguration object.
See Also:
  `GraphicsConfiguration`

Method Detail

### addNotify

    public void addNotify()

  Creates the peer of the canvas. This peer allows you to change the user interface of the canvas without changing its functionality.

  Overrides:
    `addNotify` in class `Component`
  See Also:
    `Toolkit.createCanvas(java.awt.Canvas)`, `Component.getToolkit()`

### paint

    public void paint(Graphics g)

  Paints this canvas.

  Most applications that subclass `Canvas` should override this method in order to perform some useful operation (typically, custom painting of the canvas). The default operation is simply to clear the canvas. Applications that override this method need not call super.paint(g).

  Overrides:
    `paint` in class `Component`
  Parameters:
    `g` - the specified Graphics context
  See Also:
    `update(Graphics)`, `Component.paint(Graphics)`

### update

    public void update(Graphics g)

  Updates this canvas.

  This method is called in response to a call to `repaint`. The canvas is first cleared by filling it with the background color, and then completely redrawn by calling this canvas's `paint` method. Note: applications that override this method should either call super.update(g) or incorporate the functionality described above into their own code.

  Overrides:
    `update` in class `Component`
  Parameters:
    `g` - the specified Graphics context
  See Also:
    `paint(Graphics)`, `Component.update(Graphics)`

### createBufferStrategy

    public void createBufferStrategy(int numBuffers)

  Creates a new strategy for multi-buffering on this component. Multi-buffering is useful for rendering performance. This method attempts to create the best strategy available with the number of buffers supplied. It will always create a `BufferStrategy` with that number of buffers. A page-flipping strategy is attempted first, then a blitting strategy using accelerated buffers. Finally, an unaccelerated blitting strategy is used.

  Each time this method is called, the existing buffer strategy for this component is discarded.

  Overrides:
    `createBufferStrategy` in class `Component`
  Parameters:
    `numBuffers` - number of buffers to create, including the front buffer
  Throws:
    `IllegalArgumentException` - if numBuffers is less than 1.
    `IllegalStateException` - if the component is not displayable
  Since:
    1.4
See Also:
  `Component.isDisplayable()`, `getBufferStrategy()`

### createBufferStrategy

    public void createBufferStrategy(int numBuffers,
                                     BufferCapabilities caps)
                              throws AWTException

  Creates a new strategy for multi-buffering on this component with the required buffer capabilities. This is useful, for example, if only accelerated memory or page flipping is desired (as specified by the buffer capabilities).

  Each time this method is called, the existing buffer strategy for this component is discarded.

  Overrides:
    `createBufferStrategy` in class `Component`
  Parameters:
    `numBuffers` - number of buffers to create
    `caps` - the required capabilities for creating the buffer strategy; cannot be `null`
  Throws:
    `AWTException` - if the capabilities supplied could not be supported or met; this may happen, for example, if there is not enough accelerated memory currently available, or if page flipping is specified but not possible.
    `IllegalArgumentException` - if numBuffers is less than 1, or if caps is `null`
  Since:
    1.4
See Also:
  `getBufferStrategy()`

### getBufferStrategy

    public BufferStrategy getBufferStrategy()

  Overrides:
    `getBufferStrategy` in class `Component`
  Returns:
    the buffer strategy used by this component
  Since:
    1.4
See Also:
  `createBufferStrategy(int)`

### getAccessibleContext

    public AccessibleContext getAccessibleContext()

  Gets the AccessibleContext associated with this Canvas. For canvases, the AccessibleContext takes the form of an AccessibleAWTCanvas. A new AccessibleAWTCanvas instance is created if necessary.

  Specified by:
    `getAccessibleContext` in interface `Accessible`
  Overrides:
    `getAccessibleContext` in class `Component`
  Returns:
    an AccessibleAWTCanvas that serves as the AccessibleContext of this Canvas

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.